.timeline-panel {
  position: absolute;

  padding: 0;
  margin: 0;

  box-sizing: border-box;
}

.timeline-panel.timeline-center,
.timeline-panel.timeline-left,
.timeline-panel.timeline-right,
.timeline-panel.timeline-top,
.timeline-panel.timeline-bottom {
  border: 1px #bfbfbf;
}

.timeline-panel.timeline-center,
.timeline-panel.timeline-left,
.timeline-panel.timeline-right {
  border-top-style: solid;
  border-bottom-style: solid;
  overflow: hidden;
}

.timeline-left.timeline-panel.timeline-vertical-scroll, .timeline-right.timeline-panel.timeline-vertical-scroll {
  height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
} 

.timeline-left.timeline-panel.timeline-vertical-scroll {
  direction: rtl;
}

.timeline-left.timeline-panel.timeline-vertical-scroll .timeline-content {
  direction: ltr;
}

.timeline-right.timeline-panel.timeline-vertical-scroll {
  direction: ltr;
}

.timeline-right.timeline-panel.timeline-vertical-scroll .timeline-content {
  direction: rtl;
}

.timeline-panel.timeline-center,
.timeline-panel.timeline-top,
.timeline-panel.timeline-bottom {
  border-left-style: solid;
  border-right-style: solid;
}

.timeline-background {
  overflow: hidden;
}

.timeline-panel > .timeline-content {
  position: relative;
}

.timeline-panel .timeline-shadow {
  position: absolute;
  width: 100%;
  height: 1px;
  box-shadow: 0 0 10px rgba(0,0,0,0.8);
  /* TODO: find a nice way to ensure timeline-shadows are drawn on top of items
  z-index: 1;
  */
}

.timeline-panel .timeline-shadow.timeline-top {
  top: -1px;
  left: 0;
}

.timeline-panel .timeline-shadow.timeline-bottom {
  bottom: -1px;
  left: 0;
}